package com.saodisheng.service;

import com.jfinal.kit.Ret;
import com.jfinal.plugin.activerecord.Page;
import com.saodisheng.model.Message;

/**
 *
 * @author 扫地生_saodisheng
 * @date 2022/1/28
 */
public interface MessageService {
	/**
	 * 所有消息分页
	 */
	Page<Message> paginate(int pageNum, int accountId);
	
	/**
	 * 所有私信分页
	 */
	Page<Message> allPaginate(int pageNum, int accountId);
	
	/**
	 * 与某个用户的私信分页
	 */
	Page<Message> paginate(int pageNum, int accountId, int friendId);
	
	/**
	 * 发送普通私信
	 */
	Ret send(int sender, int receiver, String content);
	
	/**
	 * 发送系统私信
	 */
	Ret sendSystemMessage(int sender, int receiver, String content);
	
	/**
	 * 发送私信
	 */
	Ret send(final int sender, final int receiver, final int type, final String content);

	
	 /**
     * 删除某一条私信
     * message.user 字段表示 message 记录的主人，message 只有主人才可以删除
     */
    Ret deleteByMessageId(int accountId, int messageId);

    /**
     * 删除某一个用户的所有私信往来
     * message.user 字段表示 message 记录的主人，message 只有主人才可以删除
     */
    Ret deleteByFriendId(int accountId, int friendId);
	
}
